Imports Microsoft.VisualBasic
Imports System
Imports System.Collections.Generic
Imports System.Text

Namespace C4F.DevKit.Telephony

	''' <summary>
	''' Represents the call direction.
	''' </summary>
	Public Enum CallDirection

		''' <summary>
		''' Incoming call.
		''' </summary>
		Incoming

		''' <summary>
		''' Outgoing Call.
		''' </summary>
		Outgoing

	End Enum

	''' <summary>
	''' Represents the state of a call.
	''' </summary>
	Public Enum CallState

		''' <summary>
		''' The call has been created, but Connect has not been called yet. This is the initial state for 
		''' both incoming and outgoing calls.
		''' </summary>
		Idle = 0

		''' <summary>
		''' Connect has been called, and the service provider is working on making a connection. 
		''' This state is valid only on outgoing calls. 
		''' This message is optional, because a service provider may have a call transition directly to the connected state.
		''' </summary>
		InProgress = 1

		''' <summary>
		''' Call has been connected to the remote end and communication can take place.
		''' </summary>
		Connected = 2

		''' <summary>
		''' Call has been disconnected.
		''' </summary>
		Disconnected = 3

		''' <summary>
		''' A new call has appeared, and is being offered to an application.
		''' </summary>
		Offering = 4

		''' <summary>
		''' The call is in the hold state.
		''' </summary>
		Hold = 5

		''' <summary>
		''' The call is queued.
		''' </summary>
		Queued = 6

	End Enum

	''' <summary>
	''' Represents media types supported by the line.
	''' </summary>
	<Flags> _
	Public Enum TapiMediaType

		''' <summary>
		''' None.
		''' </summary>
		None = 0

		''' <summary>
		''' Represents an audio media stream that is entering or leaving the computer.
		''' </summary>
		Audio = 8

		''' <summary>
		''' Represents a data media stream that is associated with a data modem.
		''' </summary>
		DataModem = 16

		''' <summary>
		''' Represents a data media stream that is associated with a G3 protocol fax.
		''' </summary>
		G3Fax = 32

		''' <summary>
		''' Represent a stream which is on a multitrack
		''' </summary>
		MultiTrack = 65536

		''' <summary>
		''' Represents a video media stream that is entering or leaving the computer.
		''' </summary>
		Video = 32768

	End Enum

End Namespace
